// props :当前页current，页码变化执行回调函数onChange， total：20，size:20
// 方法methods：setPage 改变分页
// state 没有
import PropTypes from 'prop-types'
import {useEffect} from 'react'
function Pagnation(props) {
  // 设置分页方法
  function setPage(v){
    if(v>0&&v<=props.total){
      props.onChange(v);
    }
   
  }
  // 模拟page组件的卸载
  useEffect(()=>{
    return ()=>{
      console.log("page组件卸载")
    }
  },[])
  return ( <div>
    <button onClick={()=>setPage(props.current-1)} >&lt;</button>
    <span>{props.current}</span>
    <button onClick={()=>setPage(props.current+1)}>&gt;</button>
  </div> );
}

export default Pagnation;
// 默认数据props的定义
Pagnation.defaultProps = {
  current:1,
  total:20,
  size:20,
  onChange:()=>{}
}
// 对props类型的定义
Pagnation.propTypes={
  current:PropTypes.number,
  total:PropTypes.number,
  size:PropTypes.number,
  onChange:PropTypes.func
}